package com.hlf.modules.api.service;

import com.hlf.modules.api.entity.CartEntity;
import org.springframework.transaction.annotation.Transactional;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * 购物车
 * Created by Administrator on 2017/10/9.
 */

public interface CartService {

    /**
     *  查购物车信息
     * @return
     */
    CartEntity queryByGoodsIdAndTableId(Long goodsId, Long tableId);

    /**
     * 选择性修改
     * @param cartEntity
     */
    void updateByPrimaryKeySelective(CartEntity cartEntity);

    /**
     * 选择性新增
     */
    void insertSelective(CartEntity cartEntity);

    /**
     * 餐桌列表
     * @param tableId
     * @return
     */
    List<CartEntity> queryCartListByTableId(Long tableId);

    /**
     * 清空购物车
     * @param tableId
     */
    void deleteCartByTableId(Long tableId);

    /**
     * 判断购物车是否存在商品
     * @param tableId
     * @return
     */
    Boolean cartExistGood(Long tableId);

    /**
     * 添加购物车
     * @param goodsId
     * @param goodsNum
     * @param tableId
     * @param request
     */
    void createCart(String goodsId, String goodsNum, String tableId, HttpServletRequest request);

    @Transactional
    void batchCreateCart(List<String> goodsInfo, String tableId, HttpServletRequest request);
}
